rustc_resolve: improve const generic errors#152913
rustc_resolve: improve const generic errors#152913Unique-Usman wants to merge 1 commit intorust-lang:mainfrom
Conversation
|
rustbot has assigned @JonathanBrouwer. Use Why was this reviewer chosen?The reviewer was selected based on:
|
|
r? @estebank |
00fa325 to
98d6219
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
98d6219 to
b162b4b
Compare
| .struct_constructors | ||
| .insert(local_def_id, (ctor_res, ctor_vis.to_def_id(), ret_fields)); | ||
| } | ||
| self.r.struct_generics.insert(local_def_id, generics.clone()); |
There was a problem hiding this comment.
Let's see if we can struct_generics store references. That should keep mem usage to a minimum.
| if let Some(const_err) = const_err { | ||
| err.cancel(); | ||
| err = const_err; | ||
| } |
There was a problem hiding this comment.
This is currently inactive, right? const_err isn't None anywhere right now?
There was a problem hiding this comment.
const_err is actually always None except in the case of where we add the error we just introduce see it here -> https://github.com/rust-lang/rust/pull/152913/changes#diff-2c81e6d8048a31a3ce43f30181aaa037e0ad0076e7aee67792ca993f28c75ac3R3440-R3441
There was a problem hiding this comment.
it is to prevent the type error from showing up.
|
HIR ty lowering was modified cc @fmease |
This comment has been minimized.
This comment has been minimized.
b162b4b to
42de5af
Compare
This comment has been minimized.
This comment has been minimized.
42de5af to
aa46052
Compare
| @@ -4,18 +4,19 @@ error[E0575]: expected associated type, found associated constant `Trait::ASSOC` | |||
| LL | bar::<<T as Trait>::ASSOC>(); | |||
| | ^^^^^^^^^^^^^^^^^^^ not a associated type | |||
|
|
|||
| error[E0747]: unresolved item provided when a constant was expected | |||
| --> $DIR/assoc_const_as_type_argument.rs:8:11 | |||
| error[E0284]: type annotations needed | |||
There was a problem hiding this comment.
It is unfortunate that after silencing E0747 we end up with these inference errors instead...
I think we can split the work into two PRs: one silencing the unnecessary/redundant resolve error ("unresolved item when X was expected") and another for the appropriate const generic suggestions. That would make things easier to review and evolve on isolation.
There was a problem hiding this comment.
Yeah, thanks. we can resolve the E0747 error after getting this pr merged. I already update the patch to not silence the E0747 for now.
This comment has been minimized.
This comment has been minimized.
144113a to
288fb83
Compare
288fb83 to
c83c8ff
Compare
c83c8ff to
54aebeb
Compare
|
@bors r+ |
This comment has been minimized.
This comment has been minimized.
rustc_resolve: improve const generic errors
This comment has been minimized.
This comment has been minimized.
|
💔 Test for f80d097 failed: CI. Failed job:
|
Signed-off-by: Usman Akinyemi <usmanakinyemi202@gmail.com>
54aebeb to
f60b649
Compare
|
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
|
@bors r+ The error seems to be spurious/not related to this PR. It was rebased on top of a more recent |
|
⌛ Testing commit f60b649 with merge 76be1cc... Workflow: https://github.com/rust-lang/rust/actions/runs/23328740950 |
rustc_resolve: improve const generic errors
View all comments